/*
 *  Copyright (C) 2010 Martin Haulrich <mwh.isv@cbs.dk> and Matthias Buch-Kromann <mbk.isv@cbs.dk>
 *
 *  This file is part of the IncrementalParser package.
 *
 *  The IncrementalParser program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU Lesser General License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Lesser General License for more details.
 *
 *  You should have received a copy of the GNU Lesser General License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package org.osdtsystem.incparser.features;

/**
 *
 * @author Matthias Buch-Kromann and Martin Haulrich
 */
public interface FeatureHandler {
    int features();
    int feature(Object name);
    String featureName(int featureID);
    String featureName(Object key);
    
    int insertFeature(Object key);
    int insertFeature(Object key, String name);
    //void setFeatureGrowth(boolean grow);
    void stopGrowth();
    
    //int reserveFeatures(int count);
    void writeToFile(String outputFile);

    // Reserved features
    int STANDARDFEATURES = 10;
    int NA = 0;
    int START = 1;
    int STOP = 2;
    int MID = 3;
}
